package com.zhentao.utils;

import java.math.BigInteger;
import java.util.UUID;

/**
 * @ClassName: UniqueNumberGenerator
 * @Author: 振涛教育_Q
 * @Date: 2025/1/1 18:57
 */
public class UniqueNumberGenerator {
    public static long generateUniqueNumber() {
        UUID uuid = UUID.randomUUID();
        // 将UUID转换为大整数表示，去除连字符等多余字符
        BigInteger uuidAsBigInt = new BigInteger(uuid.toString().replaceAll("-", ""), 16);
        // 获取大整数的低19位（可根据实际调整获取的位数和处理方式）
        BigInteger low19Bits = uuidAsBigInt.and(BigInteger.valueOf((long) Math.pow(2, 19) - 1));
        return low19Bits.longValue();
    }
}
